歡迎來到本系列文「TypeScript 初學者也能看的學習指南」,全文講解的 TypeScript 版本為 5.6
時隔一年又來參加鐵人賽了,年初時有上過 TypeScript 的課程,為了試圖喚醒自己沈睡已久的記憶,今年鐵人賽就以「TypeScript」為主題,希望帶給大家更多豐富的內容
TypeScript is JavaScript with syntax for types.
TypeScript 是 javaScript 的超集
,由微軟開發的開源專案(Github Repo)。此外, TypeScript 也是一個基於 JavaScript 建構的強型別
語言,提供了「靜態型別檢查」、「物件導向設計」、「對 ES6 的支援」等功能,它會被編譯成純 JavaScript,並在任何可以運行 JavaScript 的環境中運行,包括瀏覽器、Node.js、Deno 等
超集(Superset)是數學和計算機科學中的一個專業術語,指的是一個集合包含另一個集合的所有元素。換句話說,TypeScript 是 JavaScript 的超集,意思就是你可以在 TypeScript 中直接寫 JavaScript
1. 市場需求
近年來,越來越多公司要求工程師要會 TypeScript 或是將 TypeScript 列為加分項目。讓我們有了一個學習的理由😎
2. JavaScript 的坑還踩不夠嗎 ⁉️
寫 TypeScript 的時候,本身還是在寫 JavaScript,但它補足了 JavaScript 的不足,相信很多人都知道JavaScript 是弱型別語言,對於型別沒有嚴格的規範,而 TypeScript 提供了「靜態型別檢查」,並搶先一步在編輯器中就能提早發現錯誤
JavaScript 是一種「動態型別」語言,變數的 tpye 是在動態運行時確定的,而不是在編譯時確定的。這可能導致一些型別錯誤在開發過程中難以發現。以下這段 JavaScript 並不會報錯
let value = "123";
value = 123; // 不會報錯,但可能引發運行時的錯誤
3. 加強可讀性、維護性、可擴展性
有時候我們單看命名無法準確判斷型別,要是這個命名不夠準確,可能導致誤會
如果能有型別註釋(Type Annotations)
,在閱讀上就可以事先知道個變數、參數的型別。就算沒有每個地方都手動定義, 型別推斷(Type Inference)
也會幫助我們自動推斷型別
,不需要開發者再寫大量的型別定義,提升開發體驗和維護性
也可由以下幾點判斷是否導入一項新技術
這是我在 「Clean Code 學派的風格與實踐」裡看到的
前面的篇章會著重在在介紹 TypeScript 的各知識點。後面的篇章則會著重在實際應用和刷題
🙋🏻♀️ 想學習 TypeScript 的初學者
🙋🏻♀️ 有系統性學習過 JavaSceipt 的人
每天講的內容有推到 github 上喔